MISCELLANEOUS MATH EDUCATIONAL SOFTWARE: PROGRAM ABSTRACTS This file contains abstracts for a package of programs that are written and maintained by John Kennedy in the Mathematics Department at Santa Monica College. The programs are for IBM compatible computers and are used by the students in the Math Lab at SMC. These programs may also be of interest to high school students and math teachers at almost any level. If you wish to print this file so you can read from a paper copy you can try importing this file into any word processor and then print it. Failing that, you can try the DOS command COPY README.TXT PRN. THE BACKGROUND AND KNOWLEDGE REQUIRED TO USE THE PROGRAMS IN THIS PACKAGE ============================================================================== The programs described below have been designed to be used by people with little or no computer background. All of these programs contain self- documenting help screens and the more complex programs are accompanied by tutorial lessons designed specifically for first-time users. The mathematical background required to use these programs depends on the nature of each individual program. However, each program is designed to be a learning tool to help motivate an interest in mathematics and computer science, so users may benefit from trying a program even if they do not fully exploit all of the program's capabilities. THE HARDWARE REQUIRED TO USE THE PROGRAMS ============================================================================== The hardware required to run these programs is fairly simple. Some programs use only a text mode, but those that require a graphics capability can be used with monochrome display screens if a color monitor is not available. Several programs require an IBM-compatible graphics adapter card which may be any one of CGA, or EGA, or VGA capability. Each program automatically selects the highest resolution available and each program description indicates when graphics hardware is required to run the program or when the program runs in a text mode only. Some of the programs may use multiple windows and take advantage of a mouse, if one is available. But any program that uses a mouse can usually be used without one. A hard disk is not required to run any of these programs, although a hard disk may be needed to acquire and unpack the archived files. A printer is optional for a few programs if you want to produce hard copy output. Any version of DOS later than version 3.1 should be compatible. The programs have all been tested and run under DOS version 6.0. UPDATE AND VERSION INFORMATION ============================================================================== This file: README.TXT 57687 11-28-93 9:00 PM These programs are periodically updated to make improvements and add new features (and sometimes to correct bugs!). The line before each paragraph description gives the latest filename information about the most recent version of the program at the time this README.TXT file was made. This information includes the file size in bytes and the date and time of the most recent update. If you already have a version of one or more of these programs you may wish to compare your file dates with the corresponding dates in the list below. THIS PACKAGE VERSUS COMMERCIAL PROGRAMS ============================================================================== The development of the programs in this package began many years ago when there was little or no other software available. At present, there are major commercial packages that have outstanding mathematical capabilities. The major names include MATLAB, MAPLE, MATHEMATICA, MACSYMA, THEORIST, and DERIVE. All of these commercial programs were developed by and for professional mathematicians and literally millions of dollars of research has been spent either directly or indirectly in their development. Except for DERIVE which has a competitive price, the cost of these commercial programs is not only beyond most student budgets, many teachers and schools can't afford them either. Just like the first shirt pocket calculators which initially cost hundreds of dollars, the price of commercial software will steadily decline. In the not-too-distant future everyone will be able to buy all the capability in MATHEMATICA for less than $20. But we aren't there yet. A recently introduced program called X(PLORE) Version 4.0 by David Meredith of San Francisco State University is being sold at a price students can afford. In addition to the price obstacle, most commercial software was not designed for classroom demonstrations nor for student experimentation. The capability of most commercial math software goes way beyond the level of student use. If you have ever tried to develop instructional demonstrations with any of the commercial programs you are already aware of and understand the problem. Students (and teachers) who use commercial programs require a significant amount of time to develop proficiency in their use. Such an effort is worthwhile for those who will continue to use the software outside of school. It is also worthwhile to learn how to write programs using one of the commercial scripting languages. Developing a programming skill in MATHEMATICA is most rewarding. But most students do not consider themselves in the category of mathematical programmers and will never learn to program directly in the languages used by these packages. While the user interfaces are continually improving, none of the major commercial programs are particularly well-suited for first-time beginners who only need to learn and perform relatively simple tasks. Unlike most word processing programs which have standard feature sets and work in similar ways, commercial math programs vary widely in their syntax and input/output. Many programs still have command line interfaces even though they claim to work with the Windows operating system. The major commercial programs are truly amazingly powerful, but in some ways they are still primitive. The software described below has two advantages over commercial software. 1. Cost (it is free; however it does have to be copied and distributed) 2. It is made for teachers and students where the end goal is learning and discovering. It is for first-time beginning users. These same two advantages are disadvantages if you want state of the art math software. Buy the professional stuff when you need state of the art large capacity high-speed numerical or symbolic algorithms. Otherwise, kindly accept some exposure to this educational software as preparation for more robust software that will be in your future. FILE TYPES & TUTORIAL & ADDITIONAL HELP & DOCUMENTATION INFORMATION ============================================================================== Files of the type *.EXE are executable program files. Files with the same primary name but of the type *.TXT are ASCII text files which contain important documentation about the corresponding program. These files may be imported into any word processor for reading and/or printing. It is suggested that you read any text file associated with a program before you try to run the program. Many of the *.TXT files contain tutorial lessons for first-time users that will take you through the beginning steps of using the program. These tutorial files also illustrate some of the typical uses of the programs. Files of the type *.HLP are compiled binary files that must accompany the *.EXE program with the same primary filename. These files are NOT intended to be read or printed because they contain some special binary codes. For the most part however, they only contain specially formatted ASCII text that is part of a context-sensitive hypertext on-line help system. Files of the type *.EXE and *.HLP with the same primary filename must normally reside in the same subdirectory. Programs that use *.HLP files first search for them in their own subdirectories, and if not found there, they will search for a matching *.HLP file in all subdirectories listed in your DOS PATH. Each program contains some form of Help information which can be accessed by either pressing key H (or Alt+H for Help) or by pressing function key F1 from within most menus or dialog boxes. By reading all the Help information you may learn about some of the more subtle features of each program. THE PROGRAM ABSTRACTS ============================================================================== 1. MATRIX.EXE 217744 11-28-93 7:18 PM -------------------------------------------------------------------------- The MATRIX program is designed to perform and to teach row operation algorithms on matrices. The program can work in a decimal floating-point mode in which calculations are carried out to 18 significant digits, or it can work in a fraction mode with exact rational arithmetic. The fraction mode is more useful for instructional purposes while the decimal mode is more appropriate for scientific or engineering applications. You can easily switch between fractions and decimals at any time. The program can find complete solutions to systems of linear equations, can compute determinants and inverses of matrices, and solve standard and non-standard Linear Programming problems, and can perform some special algorithms which include the Gram-Schmidt Orthogonalization process, and the calculation of eigenvalues and eigenvectors. The program can calculate sets of basis vectors for the kernel, range, and row space of a matrix. The inter- matrix operations include addition, subtraction, and multiplication of matrices as well as scalar multiplication. The program provides easy entry and editing of matrices which may be up to 20x20 in size. Matrices may be re-dimensioned and rows and columns can easily be inserted or deleted. Matrices may be saved to and/or read from disk files. A mouse is recommended but is also optional. Each matrix occupies a window and as many as 9 overlapping windows may be open on the desktop at once. This program works in a text display mode only and does not require any graphics hardware. There is context sensitive help in the file MATRIX.HLP which normally must reside in the same subdirectory as MATRIX.EXE. There is an independent tutorial file, MATRIX.TXT, which is for first-time users. MATRIX.TXT may be imported into any word processor and/or printed on any printer. 2. YFUNX.EXE 210576 11-28-93 7:35 PM -------------------------------------------------------------------------- The YFUNX program is designed to graph and analyze functions which are written in the form Y=F(X), in which Y is a function of X; thus the name YFUNX. This program provides a set of 24 basic operators (those found on most scientific calculators), but you can compose any or all of these to build function expressions of arbitrary complexity. The program can then be used to graph the function. Any number of function curves may be combined in one graph. There is even a general graph parameter that may be used to automatically make multiple series of related graphs. The user can control the spread of values that are automatically associated with the graph parameter. The XY-plane rectangular window may be any size and centered anywhere in the plane. The X- and Y-axes may be scaled independent of one another and a local coordinate system may be located anywhere in the window. The user can perform automatic zooming in and out to make a smaller or a larger window, or they can explicitly mark the contents of a zoom-in window. After a graph has been made the user can enter a Coordinate Trace Mode in which they can move a cursor anywhere across the screen and track the world coordinates of the points it traces out. This can be used to find points of intersection of two curves or to approximate the X- and Y-intercepts of a function. There is also a line drawing mode in which the user can spin a line around an anchor point, usually to manually approximate the tangent or normal line to a graph at a particular point on the graph. The user can also enter a Tangent/Normal/ Graph trace mode in which they can move a tangent line, normal line or a point along the graph to study the variations of these quantities along the curve. At each point on the curve the tangent line equation (or normal) and the coordinates of the point of tangency (normality) are given. This program provides seven different kinds of numerical integration and for each kind it dynamically displays the resulting areas when in in graphics mode. In addition to the lower, midpoint, and upper Riemann sums, and the Trapezoid and Simpson's Rules, the program performs Gaussian Quadrature and Romberg integration. This program also calculates the arc length between any two points on the graph of a function. In graphics mode it dynamically displays the arc length elements. Three additional integration techniques are provided for finding volumes and surface areas associated with 3-dimensional rotations. Either the disk method or the method of cylindrical shells can be animated. The program simulates the drawing of 3-dimensional disk and shell volume slices. The lateral surface area for the volume of rotation of a plane region over a horizontal line can also be performed. In still another mode the user can apply Newton's Method or the method of Successive Bisections to dynamically solve for the zeros of the function. In graphics mode the program animates each convergence process. In text mode the user can observe the convergence of a table of values to the zero of the function. Another feature is the ability to automatically find the the max/min extrema of any function over a closed interval. This feature can be applied in either graphics or text modes. This program requires some form of graphics such as CGA or EGA or VGA hardware. The program automatically adapts to the highest graphics resolution of the hardware it finds. There is an independent tutorial file, YFUNX.TXT, which is for first-time users. YFUNX.TXT may be imported into any word processor and/or printed on any printer. 3. POLAR.EXE 175008 11-28-93 8:51 PM -------------------------------------------------------------------------- The POLAR program is designed to graph and analyze relations which are written in terms of Polar Coordinates. This program does for polar graphs what the YFUNX program does with graphs of rectangular functions. Polar functions may be of the form R=f(@) or the radius may be squared, R^2=f(@). You can quickly switch between these two forms and you can enter arbitrarily complex function expressions. This program also provides a graph parameter for automatically making multiple series of related graphs, has an XY-plane window, a Coordinate Trace Mode, a Tangent/Normal/Graph trace mode, zooming features, and can perform numerical integration for arc length and area. The coordinate trace mode together with the overlapping graph feature makes it easy to find points of intersection of two or more polar graphs. The program is particularly useful to observe the shape and dynamic tracing out of the circular sectors that are employed with polar graph integrals. Setting up the limits of integration in polar coordinates is more subtle than setting up the limits in rectangular coordinates. Max/min extrema of X and Y coordinates can be found automatically for any polar curve. This program requires some form of graphics such as CGA or EGA or VGA hardware. The program automatically adapts to the highest graphics resolution of the hardware it finds. There is an independent tutorial file, POLAR.TXT, which is for first-time users. POLAR.TXT may be imported into any word processor and/or printed on any printer. 4. PARAM.EXE 172864 11-28-93 8:57 PM -------------------------------------------------------------------------- The PARAM program is designed to graph and analyze relations which are written in terms of parametric equations. This program is analogous to the POLAR and YFUNX programs, but handles X-Y plane relations of the form X=f(t), Y=g(t), where the parameter t may be considered to represent time. This program provides a graph parameter for automatically making multiple series of related graphs and also has an XY-plane window, a coordinate trace mode, a Tangent/Normal/Graph trace mode, zooming features, and performs numerical integration for areas and arc length. The program can animate the tracings of area and arc length elements whenever numerical integration is performed. Max/min extrema of X and Y coordinates can be found automatically for any parametric curve. This program requires some form of graphics such as CGA or EGA or VGA hardware. The program automatically adapts to the highest graphics resolution of the hardware it finds. There is an independent tutorial file, PARAM.TXT, which is for first-time users. PARAM.TXT may be imported into any word processor and/or printed on any printer. 5. POLPM.EXE 174032 09-05-93 2:07 PM -------------------------------------------------------------------------- The POLPM program is designed to graph and analyze relations which are written in terms of polar coordinates, where both the radius and angle are expressed in terms of a parameter variable. This program is analogous to the YFUNX, POLAR, and PARAM programs. The polar coordinates R and @ are represented by two functions, R=f(t) and @=g(t), where the parameter t may be considered to represent time. This program also provides a graph parameter for automatically making multiple series of related graphs and has an XY-plane window, a coordinate trace Mode, a Tangent/Normal/Graph trace mode, zooming features, and performs numerical integration for areas and arc length. The program can animate the tracings of area and arc length elements whenever numerical integration is performed. Max/min extrema of X and Y coordinates can be found automatically for any section of a curve. This program requires some form of graphics such as CGA or EGA or VGA hardware. The program automatically adapts to the highest graphics resolution of the hardware it finds. 6. DIFEQ.EXE 151392 06-28-93 9:45 AM -------------------------------------------------------------------------- The DIFEQ program is designed to graph and solve first order differential equations. The program can make the graph of the direction field that is associated with the differential equation. It also dynamically shows the solution graph to an initial value problem which can be overlaid on the direction field. This provides an insightful view of the family of solution curves and demonstrates how equations are sensitive to the initial conditions. The graphing features include an XY-plane window, scalable axes, a Coordinate Trace Mode, and zooming features similar to those found in the YFUNX program. The numerical methods for solutions to initial value problems include the standard Euler and modified Euler methods as well as a 4th order Runge-Kutta method. Solutions to initial value problems can be animated using a single-step mode which graphically demonstrates the convergence process. In text mode the same convergence processes can be observed with a table of values. This program requires some form of graphics such as CGA or EGA or VGA hardware. The program automatically adapts to the highest graphics resolution of the hardware it finds. There is an independent tutorial file, DIFEQ.TXT, which is for first-time users. DIFEQ.TXT may be imported into any word processor and/or printed on any printer. 7. CURVE3D.EXE 125952 06-28-93 9:57 AM -------------------------------------------------------------------------- The CURVE3D program is designed to graph and analyze a curve given in the form X=f(t), Y=g(t), and Z=h(t). Thus the curve is parametrized in 3-dimensions. The 3-dimensional graphing scheme allows the curve to be viewed from any point in space. The program draws a true-perspective 3D picture. This program requires some form of graphics such as CGA or EGA or VGA hardware. The program automatically adapts to the highest graphics resolution of the hardware it finds. 8. SURF3D.EXE 138880 06-28-93 9:49 AM -------------------------------------------------------------------------- The SURF3D program is designed to graph 3-dimensional surfaces of the form Z=f(X,Y). The program allows the resulting surface to be viewed from any point in space. This program draws a true-perspective 3D picture. The surface can be realized in the form of a fishnet, or it can be viewed with surface traces with lines of constant X or constant Y. The program also has a hidden line feature that allows for even more realistic pictures. The user can move their perspective eye-point to view the surface from any direction in 3-dimensions. This program requires some form of graphics such as CGA or EGA or VGA hardware. The program automatically adapts to the highest graphics resolution of the hardware it finds. There is an independent tutorial file, SURF3D.TXT, which is for first-time users. SURF3D.TXT may be imported into any word processor and/or printed on any printer. 9. CFIT.EXE 182464 05-10-93 4:50 PM -------------------------------------------------------------------------- The CFIT program is designed to perform curve fits to data. Thus this program is a statistical program that can be used to analyze data and discover a functional relationship between two variables. The program can employ any one of four kinds of regression functions which include linear functions, exponential functions, logarithmic functions, and power functions. The user can select any particular function or they can let the program automatically choose the function of best fit for the given data. Once a curve has been fit to the data the user can predict new points along the curve. The program employs a recursive process for accumulating statistical sums which provides more accurate than usual statistics. The program makes easy entry and editing of data. The program can graph a scatter diagram of the data and it can graph the fitted function curve that passes through the data. The graphing features include an XY-plane window, scalable axes, a Coordinate Trace Mode, and zooming features similar to those found in the YFUNX program. All of the data and/or statistics may be saved to or read from disk files, or printed on a printer. This program requires some form of graphics such as CGA or EGA or VGA hardware. The program automatically adapts to the highest graphics resolution of the hardware it finds. There is an independent tutorial file, CFIT.TXT, which is for first-time users. CFIT.TXT may be imported into any word processor and/or printed on any printer. 10. GALTON.EXE 108144 11-28-93 7:11 PM -------------------------------------------------------------------------- The GALTON program was designed to simulate an experiment in mathematical probability. The idea is derived from a board which contains several rows of staggered but equally spaced nails, named after its inventor, Francis Galton (1822-1911). Objects are dropped across this board and stack up in collection bins at its bottom. The user can control the left-right probabilities and can observe either coins or ping-pong balls in conjunction with the board. Given the correct parameters, you can visually see how nature produces the binomial coefficients from Pascal's Triangle and their relation to a Gaussian bell-shaped normal curve. The program can also simulate coin tossing experiments with biased coins which result in skewed distributions. This program requires some form of graphics such as CGA or EGA or VGA hardware. The program automatically adapts to the highest graphics resolution of the hardware it finds. There is an independent tutorial file, GALTON.TXT, which is for first-time users. GALTON.TXT may be imported into any word processor and/or printed on any printer. 11. BUFFON.EXE 87216 08-23-93 9:53 PM -------------------------------------------------------------------------- The BUFFON program was designed to simulate an experiment in mathematical probability. The experiment is performed by randomly dropping needles on a grid of equally spaced parallel lines. The needles are all the same length which is exactly 1/2 the spacing between the lines. After all the needles are dropped a count is made of the number of needles which intersect any line. A given needle may intersect at most one line, but most needles (about 2/3+) do not intersect any line. The total number of needles divided by the number of intersecting needles approximates the number Pi. This experiment is named after the French naturalist Count Buffon (1707-1788) who dropped needles on a floor made of wooden planks. The lines correspond to the cracks between the planks. Buffon was trying to estimate the probability that a needle would fall across or into a crack. The mathematically precise answer is surprisingly related to Pi. The user can set the number of needles and control various aspects of the experiment. This program requires some form of graphics such as CGA or EGA or VGA hardware. The program automatically adapts to the highest graphics resolution of the hardware it finds. 12. PROPC.EXE 87296 11-28-93 7:23 PM -------------------------------------------------------------------------- The PROPC program performs analysis of formulas from the Propositional or Sentential Calculus, a branch of symbolic logic. PROPC can be used to perform a complete truth table analysis of propositional formulas of arbitrary complexity. Up to 9 independent variables are allowed which implies tables may contain as many as 512 truth value lines. The program can print all lines, print only the true lines, or print only the false lines, or it may simply test a formula as a tautology. The program can also display the parse tree structure that corresponds to any formula, and it can translate formulas from the common infix notation to Polish notation. This program also generates and displays the Karnaugh Map that is associated with a given formula or a given truth table which is comprised of 2, 3, or 4 variables. The program also displays a minimal length formula that generates the same truth table as determined by the Karnaugh Map. Truth tables and formulas can be printed on a printer or saved in disk files. This program works in a text display mode only and does not require any graphics hardware. There is an independent tutorial file, PROPC.TXT, which is for first-time users. PROPC.TXT may be imported into any word processor and/or printed on any printer. 13. RPNDEMO.EXE 80240 10-31-93 3:34 PM -------------------------------------------------------------------------- The RPNDEMO program was designed to simulate a programmable RPN calculator that is very similar to the HP-41 calculator. This calculator provides an integrated programming environment which includes a built-in editor with complete syntax checking. The environment includes an interpreted language that provides full run-time error checking. You can learn to program a computer with this program. Programs you create may be saved to or read from disk files. This program is an excellent tool for learning how a Reverse Polish logic calculator works. It can also be used to simulate a type of assembly language that is simple, yet is rich with features which include conditional comparisons and flag testing, indirect memory addressing, and the ability to make subroutine calls and watch the build-up and break-down of the subroutine return stack. Programs may be executed in an Animated Mode which shows the internal workings of the machine. The Fast Mode turns off the animation when speed is desired. The user can also set a time delay factor to control the animation speed. This program works in a text display mode only and does not require any graphics hardware. Included with this program are 5 demonstration program files called RDEMO1.TXT, RDEMO2.TXT, RDEMO3.TXT, RDEMO4.TXT, and RDEMO 5.TXT. There is also a 75-page User's Manual for this program in the files named RPNMAN1.TXT, RPNMAN2.TXT, RPNMAN3.TXT, and RPNMAN4.TXT. A background paper which discusses some of the history of the Reverse Polish Notation (RPN) is provided in the file BKGRND.TXT. Any of these *.TXT files may be imported into any word processor and/or printed on any printer. 14. CALC.EXE 191696 11-28-93 7:07 PM -------------------------------------------------------------------------- The program called CALC.EXE is a general purpose calculator that works with five basic data types which include real numbers, complex numbers, fractions, integers (with binary logic, base b=2, b=8, b=10, or b=16), and polynomials. Thus CALC.EXE is really five calculators combined into one. The real numbers have between 19 and 20 significant digits with a dynamic range between 3.4 x 10^-4932 and 1.1 x 10^4932. Real number functions include the basic four +, -, *, /, reciprocals, squares and square roots, powers, nth roots, trigonometric and inverse trigonometric functions (in degrees or radians modes), logarithmic and power functions (base 10 and base e), hyperbolic and inverse hyperbolic functions, factorials, permutations, combinations, prime factorizations of integers, greatest common factor, least common multiple, and the group order of one integer modulo another. The complex number functions include all of the real number functions for which the analogous operations are well-defined. Of significance are complex values for nth roots, complex powers, complex logarithms, complex trigonometric and complex inverse trigonometric and complex hyperbolic and complex inverse hyperbolic functions. In fraction mode you can perform basic operations on fractions which may be displayed in both improper and mixed number form. There are special functions for working with both simple and general continued fractions. In the integer mode you can specify the word size in terms of the number of bits per integer. The word size may be any multiple of 4 up to a maximum width of 32 bits. Integer display options include binary, octal, decimal, or hexadecimal formats. Integers may be signed or unsigned. If signed, integers may be in either 1's or 2's complement format. In addition to normal arithmetic, there are logical operators which include bitwise NOT, AND, OR, NAND and XOR. The polynomial mode operators include +,-,* and /. Polynomial division yields both quotient and remainder polynomials. A special function allows any polynomial with integer coefficients to be completely factored using exact rational linear factors. Polynomials may be up to degree 25 and are easily entered, edited, and evaluated. Other special functions include the ability to determine the fixed and periodic parts of any repeating decimal that represents any fraction. In addition to base 10, repeating decimals may be analyzed and displayed with respect to binary, octal, and hexadecimal formats. Another special function converts any decimal to a simple continued fraction and displays all the convergent terms as fractions and decimals. CALC.EXE provides all this functionality in a model of a calculator that operates using reverse Polish logic. Each number (data type) occupies its own window. Use of a mouse is recommended, but is optional. There can be multiple overlapping windows. The program automatically detects the presence of a hardware numeric coprocessor. If not present, a numeric coprocessor will be simulated via software. This program works in a text display mode only and does not require any graphics hardware. This program has context sensitive help in the file CALC.HLP. Normally CALC.EXE and CALC.HLP must reside in the same subdirectory. There is an independent tutorial file, CALC.TXT, which is for first-time users. CALC.TXT may be imported into any word processor and/or printed on any printer. 15. LOAN.EXE 87664 11-28-93 7:15 PM -------------------------------------------------------------------------- The LOAN program was designed to be part of a financial program that handles the two standard cases of compound interest. Either a lump sum or a series of periodic constant payments may be considered to earn compound interest. This program works with the 5 standard financial variables n, i, PV, FV, PMT and can calculate these in any meaningful combination. n is the number of compounding time periods. i is the periodic interest rate. PV, FV, and PMT represent the Present Value, Future Value, and periodic payment amounts in terms of dollars. When working with loans this program can also print out a complete amortization schedule for the loan with any specified beginning and ending periods. For any series of payments this program will calculate and display the payment number, the amount of the payment that goes to interest and the amount that is applied to the principle and the new remaining balance. The amortization schedules may be saved in disk files or printed on a printer. The program can also make interest earning schedules for one- time lump sum deposits that earn compound interest. A third type of interest earning schedule is for a series of periodic payments. For each kind of interest earning schedule the program shows how the interest and remaining balance grow as a function of time. This program works in a text display mode only and does not require any graphics hardware. There is an independent tutorial file, LOAN.TXT, which is for first-time users. LOAN.TXT may be imported into any word processor and/or printed on any printer. 16. FCARD.EXE 52560 05-12-92 5:38 PM -------------------------------------------------------------------------- The FCARD program is a general Flash Card program. Although initially designed to aid the learning of formulas for a 2nd semester calculus class, this program can be used to help learn any set of simple facts. The user may write their facts in a file using any word processor and then bring them into this program which has one of three display modes. This program can present the items in a given order, or it can present them in a random order, or it can flash them in a timed sequence, where the user sets the timing in seconds between each question and answer. This program accommodates up to 150 questions and related answers per file. Each question and each answer occupies one line in the file. This program works in a text display mode only and does not require any graphics hardware. Two sample data files included with this program are MATH8.FC and SAMPLE.FC which are text files which may be imported into any word processor and/or printed on any printer. 17. THANOI.EXE 28208 03-14-93 9:28 PM -------------------------------------------------------------------------- The THANOI program was designed to show a recursive process which is known as the Towers of Hanoi game. The user can direct the game moves, or the user can watch the program run in an automatic, or a semi-automatic mode. The game illustrates a process which doubles in both complexity and the time required to complete the game by incrementing a single parameter. The program demonstrates the validity and simplicity of a recursive solution to a complex problem that would otherwise overwhelm a normal human being. The main logic in this program is only three lines long! Up to 511 consecutive game moves can be animated. This program works in a text display mode only and does not require any graphics hardware. 18. TRIANGLE.EXE 90432 03-18-93 8:40 PM -------------------------------------------------------------------------- The TRIANGLE program solves triangle problems using applications of the Law of Sines and/or the Law of Cosines. In a typical problem, three known parts of a triangle are entered and the program will calculate the other three parts. There are 19 possible cases and this program handles all of them, including the ambiguous case of the Law of Sines. So if two triangles match the given input, this program yields both answers. This program also draws the triangle solutions to scale on a graphics screen and in addition to calculating all the sides and angles it also calculates the area and the perimeter. This program requires some form of graphics such as CGA or EGA or VGA hardware. The program automatically adapts to the highest graphics resolution of the hardware it finds. 19. EXPMCON.EXE 51840 05-12-92 5:30 PM -------------------------------------------------------------------------- The EXPMCON program is a simple utility program that works with files saved by the program called MATRIX.EXE. When a matrix is saved by the MATRIX.EXE program, it is saved in an ASCII text file that is both displayable and printable on any standard device. The EXPMCON program takes such a file as input and converts it to another file that can be read by the commercial scientific word processor called EXP. Thus EXPMCON is only of use to those who use both MATRIX and EXP. The name of this program is suggestive of EXP Matrix Conversion. The EXP word processor requires special formatting codes for matrices, and this program can be used to convert an ASCII formatted matrix file into a file that can be read into an EXP-formatted document. This program works in a text display mode only and does not require any graphics hardware. 20. BMPLOT.EXE 137952 09-05-93 2:10 PM -------------------------------------------------------------------------- The BMPLOT plot program can be used to make high resolution monochrome bitmap function plots. Thus BMPLOT stands for bitmap plotter. The kinds of graphs made by this program match those made by the programs YFUNX, POLAR, PARAM, and POLPM. But the graphs made by this program are stored in files that can be read into other programs such as paint or drawing or desktop publishing programs. This program has a graph parameter for automatically making multiple series of related graphs. For bitmap files, the user can specify both the resolution (in terms of dots per inch) and the size of the bitmap (in inches). Virtually any resolution or size bitmap may be made. The default resolution is 300 dots per inch to match high quality output on laser printers. But within the limits of memory, even higher resolutions may be used. The regular DOS version of this program can make bitmaps consuming 300-400K of RAM. A protected mode version of this program is available which can employ over 8MB RAM for any extremely large bitmap. The output file formats include PCX, TIFF, and BMP files. TIFF (Tag Image File Format) files may be compressed using a pack-bits scheme or the CCITT/3 compression algorithm, or may be left uncompressed. In particular, the TIFF or PCX files made by this program may be read directly into any EXP graphics library. (EXP is a commercial scientific word processor.) Other scientific word processors or desktop publishing or paint or drawing programs may be used to read in the bitmap files to add labels and titles and/or to print the bitmap. This program can also make graphs using the HP-GL/2 plotter language which is provided as part of the PCL 5 printer language on HP LaserJet III and later printers. Plotter graphs may be easily sized and placed anywhere on a page with either portrait or landscape orientation. A PCL 5 class laser printer would normally be required if you plan to use the plotter functions on a laser printer. Plotter graphs may also be saved in files that contain the HP-GL/2 plotter language commands for later playback on actual HP plotters or other compatible devices. Any bitmap file made by this program can be printed on any dot matrix or laser printer that does not have the PCL 5 plotting capability. The variable resolution and size features allow you to match any output device. This program works in a text display mode only and does not require any graphics hardware. 21. XPRES.EXE 149776 11-28-93 7:30 PM -------------------------------------------------------------------------- The XPRES program is for performing multiple precision arithmetic with large integers. Thus the name XPRES stands for extended precision. This program is useful whenever you need to work with numbers that would overflow the 10-digit capacity of your calculator. The program works with nonnegative integers with a dynamic range between 1 and 20,000 digits. The special computational algorithms include unusually large factorials, powers, permutations, and combinations. For example, you can use XPRES to compute the exact value of 1000 factorial which is a number 2,568 digits long. Or you can compute the number of combinations of 3000 objects chosen 1500 at a time which results in a number 902 digits long. The number 2 raised to the 5,000th power is a number 1,506 digits long. The need for computing exact values of large integers may seldom arise, but when it does, XPRES may satisfy the need. XPRES warns you whenever any calculation would overflow the 20,000 digit capacity of any single number. The program employs a model of a Reverse Polish Logic calculator. There are multiple overlapping windows. Each number occupies its own window and can be displayed in any one of three formats. Numbers may be displayed as long strings of continuous digits. Digits may also be grouped three at a time separated by commas. The third format displays a number with 5-digit groups separated by spaces. A clipboard may be used to copy temporary results. Numbers may be saved to or read from disk files. The program will automatically count and display the count of the number of digits in each number. The program can also be used to automatically compare any two extended precision numbers; a task that would be extremely tedious if done manually. It also has a built-in timer that automatically computes the elapsed time of any calculation. The speaker may also be used to alert you when a long time-consuming calculation finishes. This program works in a text display mode only and does not require any graphics hardware. Use of a mouse is recommended but is also optional. This program has context sensitive help in the file XPRES.HLP. Normally XPRES.EXE and XPRES.HLP must reside in the same subdirectory. There is an independent tutorial file, XPRES.TXT, which is for first-time users. XPRES.TXT may be imported into any word processor and/or printed on any printer. 22. TURING.EXE 70144 11-28-93 7:26 PM -------------------------------------------------------------------------- The TURING program simulates the operation of a Turing Machine. Turing Machines are abstract models of primitive digital computers. In fact, they are the most fundamental models of all logical computations. Such a machine was conceived by the British mathematician Alan Turing in 1935, long before digital computers became established. Turing also worked on machines to break the secret codes produced by the German Enigma machine in World War II. TURING provides a tape with 999 elements, all of which must be 0 or 1. These are unary digits, NOT BINARY digits. In addition, the state transition table can hold up to 99 states. These two capacities should be more than adequate for the demonstration nature of this program. In addition, TURING has a full-screen editor so that users may write, edit, and save their Turing Machine programs. You can also vary the speed of animation and can run programs in either an automatic mode or a single-step mode. Three sample demonstration programs are included in the files called TDEMO1.TXT, TDEMO2.TXT, and TDEMO3.TXT. There is also an independent tutorial file, TURING.TXT, which is for first-time users. TURING.TXT may be imported into any word processor and/or printed on any printer. AN INDEX OF ALL THE FILES ============================================================================== The following is an alphabetical listing of all the files. There are a total of 22 program files plus an additional 32 files that are the documentation and help and other supporting files. The file reference numbers correspond to the above program abstract numbers. Ref. Name .Type ## Brief one line description of the file ------------ -- ----------------------------------------------------------- BKGRND .TXT 13 Historical origins of RPN notation (RPNDEMO.EXE program). BMPLOT .EXE 20 Bitmap File/Plotter program. BUFFON .EXE 11 Buffon Needle simulation program. CALC .EXE 14 General purpose RPN Calculator program. CALC .HLP 14 Help file to accompany CALC.EXE program. CALC .TXT 14 Tutorial text file for the CALC.EXE program. CFIT .EXE 9 Curve Fit program. CFIT .TXT 9 Tutorial text file for the CFIT.EXE program. CURVE3D .EXE 7 3-Dimensional parametric curve graphing program. DIFEQ .EXE 6 Differential Equations program. DIFEQ .TXT 6 Tutorial text file for the DIFEQ.EXE program. EXPMCON .EXE 19 EXP matrix conversion program. FCARD .EXE 16 Flash Card program. GALTON .EXE 10 Galton Board Simulation program. GALTON .TXT 10 Tutorial text file for the GALTON.EXE program. LOAN .EXE 15 Loan program. LOAN .TXT 15 Tutorial text file for the LOAN.EXE program. MATH8 .FC 16 Sample calculus questions for the FCARD.EXE program. MATRIX .EXE 1 Matrix program. MATRIX .HLP 1 Help file to accompany the MATRIX.EXE program. MATRIX .TXT 1 Tutorial text file for the MATRIX.EXE program. PARAM .EXE 4 Parametric Functions (2-dimensional) program. PARAM .TXT 4 Tutorial text file for the PARAM.EXE program. POLAR .EXE 3 Polar Functions program. POLAR .TXT 3 Tutorial text file for the POLAR.EXE program. POLPM .EXE 5 Parametrized Polar Functions program. PROPC .EXE 12 Propositional Calculus program. PROPC .TXT 12 Tutorial text file for the PROPC.EXE program. RDEMO1 .TXT 13 1st of 5 demonstration programs for RPNDEMO.EXE program. RDEMO2 .TXT 13 2nd of 5 demonstration programs for RPNDEMO.EXE program. RDEMO3 .TXT 13 3rd of 5 demonstration programs for RPNDEMO.EXE program. RDEMO4 .TXT 13 4th of 5 demonstration programs for RPNDEMO.EXE program. RDEMO5 .TXT 13 5th of 5 demonstration programs for RPNDEMO.EXE program. README .TXT Text file with detailed abstracts of all the programs. RPNDEMO .EXE 13 Programmable RPN calculator program. RPNMAN1 .TXT 13 1st part of user's manual for RPNDEMO.EXE program. RPNMAN2 .TXT 13 2nd part of user's manual for RPNDEMO.EXE program. RPNMAN3 .TXT 13 3rd part of user's manual for RPNDEMO.EXE program. RPNMAN4 .TXT 13 4th part of user's manual for RPNDEMO.EXE program. SAMPLE .FC 16 Sample file for the FCARD.EXE program. SURF3D .EXE 8 3-Dimensional Surface Graphing program. SURF3D .TXT 8 Tutorial text file for the SURF3D.EXE program. TDEMO1 .TXT 22 1st of 3 demonstration programs for TURING.EXE program TDEMO2 .TXT 22 2nd of 3 demonstration programs for TURING.EXE program TDEMO3 .TXT 22 3rd of 3 demonstration programs for TURING.EXE program THANOI .EXE 17 Towers of Hanoi Game program. TRIANGLE.EXE 18 Triangle Solver program. TURING .EXE 22 Turing Machine simulation program. TURING .TXT 22 Tutorial text file for the TURING.EXE program. XPRES .EXE 21 Extended Precision program. XPRES .HLP 21 Help file to accompany XPRES.EXE program. XPRES .TXT 21 Tutorial text file for the XPRES.EXE program. YFUNX .EXE 2 Rectangular Functions Y=F(X) program. YFUNX .TXT 2 Tutorial text file for the YFUNX.EXE program. AVAILABLE DISK FORMATS ============================================================================== The programs are made available free to anyone who supplies pre-formatted floppy disks. Either 5 1/4 inch or 3 1/2 inch floppy disks of either high or low density can be used. The 3 1/2 inch disks are more durable and hold more information and are thus preferable. A higher density disk is also preferable to a lower density one, since the higher the density the fewer the number of disks that need to be handled. The programs are normally distributed in self-extracting archive files that are called packages. The most significant programs are in the single file called PACKAGE1.XXX which can be copied or transferred on one high density (1.44MB) 3 1/2 inch floppy disk. An accompanying installation program will automatically install all the files for you. (You can manually install the files yourself by copying the file PACKAGE1.XXX to a hard disk, renaming this file as PACKAGE1.EXE and then executing the file.) A hard disk is normally required to unpack the programs if they are received in this archived form. But once extracted, individual program and documentation files may be copied to and used with any kind of floppy or hard disk. Other files in the above list that are not in the first PACKAGE1.XXX file are in a second file PACKAGE2.XXX which requires a second high density floppy disk. Each package is a very large file which by definition fills almost all the space on a high density disk. In fact the disk size is the limiting factor which determines how much can be placed in a single package file. Thus there is only one package available per disk. HOW TO ACQUIRE THE PROGRAMS ============================================================================== To receive a package of programs you can send a high density 3 1/2 inch pre- formatted disk and a self-addressed stamped envelope or floppy disk mailer to the author's snailmail address below. Your disk will be filled with as many programs as possible and returned in the envelope you provide. The author only provides software, not envelopes or disks or postage. GENERAL INTERNET FTP SITES ------------------------------------------------------------------------------ An alternative is to locate a smaller package which contains only a few sample programs but which is immediately accessible on some BBS systems as well as the INTERNET. If you know how to perform ftp file transfers over the INTERNET you may find a sample package on one of the more popular MS-DOS archive sites. Note that on UNIX systems the filename may be in all lower-case letters. The subdirectory name should be related to math or education and usually ends in /math. The filename to search for is jkmath??.zip. Sites other than those listed below may be discovered by using the program ARCHIE to search for a file like jkmath??.zip. SITE: rigel.acs.oakland.edu DIRECTORY: /pub/msdos/math COMMENTS: The site is also known as oak.oakland.edu and is the SimTel Software Repository; Oakland University in Rochester, Michigan. SITE: ftp.wustl.edu DIRECTORY: /systems/ibmpc/msdos/math COMMENTS: The site is also known as wuarchive.wustl.edu and mirrors the SimTel Software Repository; Washington University in St. Louis. SITE: ftp.wustl.edu DIRECTORY: /systems/ibmpc/garbo/math COMMENTS: This is a mirror of the garbo site located in Finland. SITE: garbo.uwasa.fi DIRECTORY: /pc/math COMMENTS: Located at the University of Vaasa in Finland; moderated for high-quality MS-DOS and Windows programs. Versions of the sample package are named JKMATH??.ZIP where ?? is the version number. For example, JKMATH11.ZIP is version number 1.1 of a sample package. After trying the programs in the sample package you will be in a better position to decide if you want to send disks for additional programs. MATH & EDUCATION-SPECIFIC INTERNET ARCHIVES ------------------------------------------------------------------------------ In addition to general INTERNET archive sites, you may find a few sites that specialize in mathematics or science education. These include: SITE: archives.math.utk.edu COMMENTS: can be accessed using gopher port 70 or using anonymous ftp. What is available at these sites is usually best documented by index files or other general listings available at these sites. This information can only be provided by these sites, not by the author. You may wish to exhaust these possibilities before resigning yourself to sending floppy disks via snailmail. Individual files to look for would begin with the letters JK, and have names like JKBUFON.ZIP, JKCALC.ZIP, JKLOAN.ZIP, JKPOLPM.ZIP, JKPROPC.ZIP, or JKTURING.ZIP. The author is sympathetic to those in countries other than the U.S.A. who find it difficult to obtain U.S.A. postage and otherwise make arrangements to get additional files through snailmail. Your mail may be subject to electronic security checks or there may be import duties or other obstacles. As a last resort, if your home site provides an anonymous ftp incoming or pub directory where large files may be uploaded (at least on a temporary basis), you may be able to make arrangements via E-Mail for the author to PUT files on your home site. Of course you should first check with your system administrator whether this is even feasible at your home site and you should first exhaust other possibilities including searching archives.math.utk.edu for individual files. For some non-U.S.A. country sites it may be easier to arrange to have files PUT on your ftp site than it is for you to GET files that don't exist on any system. The author's home site has extremely limited disk space and does not provide public access. IT IS NOT FEASIBLE TO REQUEST THE AUTHOR TO SEND SPECIFIC FILES NOT IN THE SAMPLE PACKAGES VIA UUENCODED E-MAIL. SORRY! THE AUTHOR'S SNAILMAIL ADDRESS ============================================================================== John Kennedy Mathematics Department Santa Monica College 1900 Pico Blvd. Santa Monica, CA 90405 U.S.A. FURTHER INFORMATION ============================================================================== Any technical questions or comments about any of these programs may be referred to the author by any of several means including E-Mail (Internet or CompuServe), voice telephone, or snailmail at the above address. Internet E-Mail Addresses: jkennedy@smc.edu or 71514:751@compuserve.com CompuServe User ID Number: 71514,751 Voice phone messages: (310) 450-5150 Ext. 9721 (any time day or night)